#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

/*
 * 普通年能整除4且不能整除100的为闰年。（如2004年就是闰年,1900年不是闰年）；
 *
 * 世纪年能整除400的是闰年。(如2000年是闰年，1900年不是闰年)；
 *
 *
 *
 * 对于数值很大的年份,这年如果能被3200整除,并且能被172800整除则是闰年。
 *
 * 如172800年是闰年，86400年不是闰年(因为虽然能被3200整除，但不能被172800整除)。
 *
 */

/* Nonzero if YEAR is a leap year (every 4 years,
   except every 100th isn't, and every 400th is).  */
# define __isleap(year)	\
  ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))


void main(int argc,char ** argv)
{
	if (argc != 2) {
		printf("%s [year]\n", argv[0]);
		exit(0);
	}

	if (__isleap(atoi(argv[1])))
		printf("leap year.\n");
	else
		printf("not leap year.\n");
	
}

